home *** CD-ROM | disk | FTP | other *** search
/ Technotools / Technotools (Chestnut CD-ROM)(1993).ISO / lang_c / uclib51a / uc_defs.h < prev    next >
Text File  |  1988-10-06  |  4KB  |  141 lines

  1. /*   uc_defs.h
  2.  *
  3.  *   This header provides the defines required for unicorn functions.
  4.  *
  5.  */
  6.  
  7. /*----------------------------------------------------------------------*/
  8. /*  Attribute defines                            */
  9. /*----------------------------------------------------------------------*/
  10.  
  11. #define BLACK         0
  12. #define BLUE         1
  13. #define GREEN         2
  14. #define RED         4
  15. #define CYAN         (BLUE+GREEN)
  16. #define MAGENTA      (BLUE+RED)
  17. #define BROWN         (RED+GREEN)
  18. #define WHITE         (BLUE+RED+GREEN)
  19.  
  20. #define BRIGHT         8
  21. #define LIGHT         8
  22. #define DIM         0
  23. #define BLINK         16
  24.  
  25. #define NORMAL         7
  26. #define UNDERLINE    1
  27. #define REVERSE      0x70
  28.  
  29. /*---------------------------------------------------------------------*/
  30. /*     Video contoller port addresses                       */
  31. /*---------------------------------------------------------------------*/
  32.  
  33. #define MONO_PORT    0x03b8
  34. #define COLOR_PORT   0x03d8
  35.  
  36.  
  37. /*----------------------------------------------------------------------*/
  38. /* The following section contains defines used for windowing functions. */
  39. /*----------------------------------------------------------------------*/
  40.  
  41. #define v_address(row,col) ((row*NUM_COLS*2+(col)*2)
  42.  
  43. /*--------------------------------------------------------------------*/
  44. /* Defines for Unicorn Bar Menu System                      */
  45. /*--------------------------------------------------------------------*/
  46.  
  47. #define NORMAL_VID    0x01700
  48. #define HIGHLITE_VID  0x07000
  49.  
  50.  
  51. #define ENTER          13
  52. #define SPACE          32
  53. #define ESC          27
  54.  
  55. #define TRUE           1
  56. #define FALSE           0
  57.  
  58. #define RIGHT_ARROW   77 + 'z'
  59. #define LEFT_ARROW    75 + 'z'
  60.  
  61. #define MAXBMENUITEMS 25
  62. #define NAME_ROW       2
  63. #define NAME_COL       1
  64. #define DESCRIPTION_ROW 3
  65. #define DESCRIPTION_COL 2
  66.  
  67.  
  68. typedef struct
  69. {
  70.    int row;
  71.    int col;
  72.    int start;
  73.    int stop;
  74. } CURSOR, *CURSORPTR;
  75.  
  76.  
  77. /*--------------------------------------------------------------------*/
  78. /*  Timer definitions                              */
  79. /*--------------------------------------------------------------------*/
  80.  
  81. #define TIMER_CLK     1193180L
  82. #define TIMER_MAX     65536
  83. #define TICKRATE      TIMER_CLK/TIMER_MAX
  84. #define PPI          0x061
  85.  
  86. #define TIMER_CTRL    0x043
  87. #define TIMER_COUNT   0x042
  88. #define TIMER_PREP    0x0b6
  89. #define SPKR          0x03
  90.  
  91.  
  92.  
  93.  
  94. /*--------------------------------------------------------------------*/
  95. /*   Mathematics definitions                          */
  96. /*--------------------------------------------------------------------*/
  97.  
  98. #define PI          3.14159265358979323846
  99.  
  100. #define inch_cm(x)      ((x)*2.54)
  101. #define cm_inch(x)      ((x)*0.3937008)
  102. #define deg_rad(x)      ((x)*0.017453293)
  103. #define rad_deg(x)      ((x)*57.29577951)
  104. #define oz_gm(x)      ((x)*28.349523)
  105. #define gm_oz(x)      ((x)*0.035274)
  106. #define gal_lt(x)      ((x)*3.78541)
  107. #define lt_gal(x)      ((x)*0.2642722)
  108. #define lb_kg(x)      ((x)*0.45359237)
  109. #define kg_lb(x)      ((x)*2.20462262)
  110. #define mi_km(x)      ((x)*1.609344)
  111. #define km_mi(x)      ((x)*.6213712)
  112. #define m_yd(x)       ((x)*1.094)
  113. #define yd_m(x)       ((x)*0.9144)
  114.  
  115.  
  116. /*--------------------------------------------------------------------*/
  117. /*  Definitions for printer control functions.                  */
  118. /*--------------------------------------------------------------------*/
  119.  
  120. #define BUZZER     '\007'
  121. #define LF     '\012'
  122. #define FF     '\014'
  123. #define CR     '\015'
  124. #define WIDEON     '\016'
  125. #define CMPRESON '\017'
  126. #define CMPRESOF '\022'
  127. #define WIDEOFF  '\024'
  128. #define CLRBUFF  '\030'
  129. #define BS     '\010'
  130. #define TAB     '\011'
  131. #define BELL         7
  132. #define HT     '\011'
  133. #define VT     '\013'
  134. #define US     '\037'
  135. #define RS     '\036'
  136. #define EM     '\031'
  137.  
  138.  
  139.  
  140. #define  sign(x)   ((x)>0?1:((x)==0?0:(-1)))
  141.